<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>3115. 质数的最大距离</title>
</head>
<body>
  <script>
//     给你一个整数数组 nums。

// 返回两个（不一定不同的）质数在 nums 中 下标 的 最大距离。

 

// 示例 1：

// 输入： nums = [4,2,9,5,3]

// 输出： 3

// 解释： nums[1]、nums[3] 和 nums[4] 是质数。因此答案是 |4 - 1| = 3。

// 示例 2：

// 输入： nums = [4,8,2,8]

// 输出： 0

// 解释： nums[2] 是质数。因为只有一个质数，所以答案是 |2 - 2| = 0。

 

// 提示：

// 1 <= nums.length <= 3 * 105
// 1 <= nums[i] <= 100
// 输入保证 nums 中至少有一个质数。

/**
 * @param {number[]} nums
 * @return {number}
 */
 var maximumPrimeDifference = function(nums) {
  if (nums.length == 1) {
    return 0
  }
  let i = 0, j = nums.length - 1;
  while (i < j) {
    if (!isPrime(nums[i])) {
          i++;
      }
      if (!isPrime(nums[j])) {
          j--;
      }
      if (isPrime(nums[i]) && isPrime(nums[j])) {
          return j - i;
      }
  }
};

var isPrime = function(num) {
  if (num < 2) {
      return false;
  }
  for (let i = 2; i * i <= num; i++) {
      if (num % i === 0) {
          return false;
      }
  }
  return true;
};
  </script>
</body>
</html>